Period=((Note MOD 12 [PeriodTable])/2^Note DIV 12)
Freq=(16*428*C2rate)/Period+PerAdd
Linear Freq:
Freq = C4Rate*2 ^ ((Note+FreqAdd) / 12 - 4)
(Actually the same as FT2, but with some minor modifications)
──────────── FineTune ────────────
AmigaFreq:
If FineTune>7 Then FineTune=ABS(FineTune-16)
PerAdd=(Period-1)-(Period)*FineTune/8
If FineTune<=7 Then PerAdd=ABS((Period)-(Period+1)*FineTune/8)
(Period +/- 1 here means the Period for the note being finetuned +/- one note)
Linear Freq:
If FineTune>7 Then FreqAdd=NEG((FineTune-16)/8) Else FreqAdd=NEG(FineTune/8)
(one note equals to 1 FreqAdd)
──────────── Envelopes ────────────
The Sinecurve for the envelope.
(The 4:th part of the Sinecurve only. I calculate the other parts using this
curve.)
It has got 512 values since the maximum distance between 2 poins can be 512.
EnvSine db 0,1,2,2,3,4,5,5,6,7,8,8,9,10,11,12,12,13,14,15,16,16,17,18,19,19,20,21,22,22,23,24,25,26,26,27,28,29,30,30,31,32,33,33,34,35,36,36,37,38,39,39,40,41,42,43,43,44,45,46,46,47,48,49,49,50,51,52,52,53,54,55,55,56,57,58,58,59,60,61,61,62,63,64,64,65,66,67,67,68,69,70,70,71,72,73,74,74,75,76,76,77,78,79,79,80,81,82,82,83,84,84,85,86,87,87,88,89,90,90,91,92,93,93,94,95,96,96,97,98,98,99,100,100,101,102,103,103,104,105,106,106,107,108,108,109,110,110,111,112,113,113,114,115,115,116,117,117,118
db 119,119,120,121,121,122,123,123,124,125,126,126,127,127,128,129,130,130,131,132,132,133,134,134,135,136,136,137,138,138,139,139,140,141,141,142,143,143,144,145,145,146,146,147,148,148,149,150,150,151,152,152,153,153,154,155,155,156,156,157,158,158,159,160,160,161,161,162,163,163,164,164,165,166,166,167,167,168,168,169,170,170,171,171,172,173,173,174,174,175,175,176,177,177,178,178,179,179,180,180,181,181,182,182,183,184,184,185,185,186,186,187,187,188,188,189,190,190,191,191,192,192,193
db 193,194,194,195,195,196,196,197,197,198,198,199,199,200,200,201,201,201,202,202,203,203,204,204,205,205,206,206,207,207,207,208,208,209,209,210,210,211,211,211,212,212,213,213,214,214,214,215,215,216,216,216,217,217,218,218,219,219,219,220,220,221,221,221,222,222,223,223,223,224,224,224,225,225,225,226,226,227,227,227,228,228,228,229,229,229,230,230,230,231,231,231,232,232,232,233,233,233,234,234,234,234,235,235,235,236,236,236,237,237,237,237,238,238,238,239,239,239,239,240,240,240,240
db 241,241,241,241,242,242,242,242,243,243,243,243,244,244,244,244,244,245,245,245,245,246,246,246,246,246,247,247,247,247,247,248,248,248,248,248,248,249,249,249,249,249,249,250,250,250,250,250,250,250,251,251,251,251,251,251,251,252,252,252,252,252,252,252,252,253,253,253,253,253,253,253,253,253,253,253,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255
Envelope Types:
0=Line. A straight line, as in FT2
1=Sine1. 3:d or 4:th Part of the sinecurve depending on the locations
of the points between
2=Sine2. 1:d or 2:d Part of the sinecurve depending on the locations
of the points between
---
/ | \
| 4|1 |
|-----|
| 3|2 |
\ | /
---
The Break flag in the Envelope is used to stop looping the envelope when
a keyoff is detected.
Calculating the Vibrato Envelope:
Using a sinecurve with full amplitude (80h) and Vibrato Amplify set to 3
equals the command 4xf played on C-5 (or using Linear Freq)
Changing the Vib Amplify is just a matter of doubling/halving the amplitude.